/* 
BranchingPrimaryGeneratorAction 
John Sparger 3/15/2011

This class extends BasicPrimaryGeneratorAction. It adds
a relative intensity for each source so different decay
pathways can be modelled.

*/

#ifndef BRANCHINGPRIMARYGENERATOR_H
#define BRANCHINGPRIMARYGENERATOR_H


#include "BasicPrimaryGenerator.hh"
#include "Randomize.hh"

using namespace std;



class BranchingPrimaryGenerator : public BasicPrimaryGenerator
{
public:
	BranchingPrimaryGenerator();
	virtual ~BranchingPrimaryGenerator();

	void addPrimaryGenerator(G4VPrimaryGenerator* generator);
	virtual void addPrimaryGenerator(G4VPrimaryGenerator* generator, G4double fractionalIntensity);
	void GeneratePrimaryVertex(G4Event* evt);

protected:
	vector<G4double> probabilityList;
	

};



#endif